热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

SQL审核|如何使用SQLE进行开发阶段SQL审核

作者:孙健孙健,爱可生研发工程师,负责SQLE相关开发;

作者:孙健

孙健,爱可生研发工程师,负责 SQLE 相关开发;

本文来源:原创投稿

* 爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。

一、 SQLE 介绍

SQLE 是一款由爱可生开源社区发起,面向数据库开发与管理人员,实现了 SQL 的「开发」-「测试」-「上线」等全流程覆盖,资源与权限精细化管理,兼顾简洁与高效,易维护、易扩展的的开源项目,旨在为用户提供一套的安全可靠、自主可控的 SQL 质量管控方案。

二、 功能介绍

SQLE 的开发阶段 SQL审核主要是通过 SQLE 的功能审核任务来完成的,该功能定位是应对全场景 SQL 质量管控解决方案,能够在应用开发、测试、上线、生产等不同阶段对 SQL 进行质量管控。将 SQL 采集与SQL审核结合对数据库进行长期审核,目前支持Mybatis 扫描,慢日志,库表元数据,TopSQL ,应用程序 SQL 抓取(java应用)的场景审核。应用开发阶段可以通过审核任务的 Mybatis 扫描类型的任务对应用代码做实时审核,Mybatis 扫描的审核任务需要通过 SQLE 提供的 Scanner 工具进行SQL采集并推送到 SQLE 进行SQL审核, 以下是 SQLE 通过 Scanner 采集 SQL 的流程图:

目前开发阶段基本都是使用 CI/CD 平台进行持续集成,例如 Jenkins ,GoCD ,git平台的 CI/CD 等,该阶段主要用来进行代码的检查,单测,打包。好处是标准化开发流程,减少复杂的工作量。因此在开发阶段也可以将SQL审核作为一个检查模块集成进CI流程。将 SQL审核事宜前置到开发阶段能够减少后期SQL审核的压力。目前使用 SQLE 的审核任务能够做到:

  1. SQLE 提供 Scanner 模式可以集成几乎所有CI/CD,配置简单,可以轻易集成进现有的开发流程;
  2. SQL审核结果即时反馈,对于未通过的SQL审核,开发可以即时优化;
  3. 除了CI流程之外,也可以在 SQLE 界面进行 SQL分类统计和审核报告查看。

三、 效果演示

1. 创建审核任务

2. 在 jenkins 对应的任务上加一个构建流程

SQLE 的 Scanner 与CI/CD的集成方式是通过添加bash类型的任务,一般CI/CD都支持该方式。SQLE Scanner 本质上是一个二进制命令行工具,该工具集成在 SQLE 内,可以在 SQLE 平台安装目录的 bin 下找到,具体的使用方式和命令行参数解释参考:https://actiontech.github.io/sqle-docs-cn/3.modules/3.6_auditplan/scanner_management.html 。

3. 当 jenkins 任务触发时会进行SQL审核

Jenkins 集成后进行SQL审核的效果如下两张图所示:

审核结果会立即通过 Jenkins 的任务返回,当 SQL 不合规触发规则建议,可以看到上图所示的构建失败的结果,此时CI流程会通知开发,开发需要优化完不合规 SQL 后再次提交代码触发CI构建,如果SQL优化成功则SQL审核会构建成功。

4. SQLE 页面查看结果

开发负责人可以通过SQLE平台查看审核结果和SQL统计,提前了解目前项目中SQL的开发质量和碰到的问题。SQL统计信息和审核结果如下两张图所示:

四、总结

以上最简单的SQL审核与CI/CD流程集成的试用,大家可以下载安装 SQLE 并结合自己公司CI/CD 试一下,SQLE 的安装参考主页:https://github.com/actiontech/sqle ;
更多使用场景可以参考:https://actiontech.github.io/sqle-docs-cn/3.modules/3.6_auditplan/introduction.html 。

本文关键字:#SQLE# #SQL审核#  #事前审核#


文章推荐:

SQL审核 | 如何用 SQLE 自动审核 Java 应用

SQLE 二次开发环境搭建

SQL审核 | SQLE-SQL审核平台体验报告

1024 开源首发 | SQL 审核工具 SQLE



有更多关于 SQLE 相关的技术问题,可以扫码或直接加入官方QQ技术交流群(637150065进行交流。欢迎大家来“骚扰”...



推荐阅读
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • VScode格式化文档换行或不换行的设置方法
    本文介绍了在VScode中设置格式化文档换行或不换行的方法,包括使用插件和修改settings.json文件的内容。详细步骤为:找到settings.json文件,将其中的代码替换为指定的代码。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • 本文讨论了如何优化解决hdu 1003 java题目的动态规划方法,通过分析加法规则和最大和的性质,提出了一种优化的思路。具体方法是,当从1加到n为负时,即sum(1,n)sum(n,s),可以继续加法计算。同时,还考虑了两种特殊情况:都是负数的情况和有0的情况。最后,通过使用Scanner类来获取输入数据。 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • 基于PgpoolII的PostgreSQL集群安装与配置教程
    本文介绍了基于PgpoolII的PostgreSQL集群的安装与配置教程。Pgpool-II是一个位于PostgreSQL服务器和PostgreSQL数据库客户端之间的中间件,提供了连接池、复制、负载均衡、缓存、看门狗、限制链接等功能,可以用于搭建高可用的PostgreSQL集群。文章详细介绍了通过yum安装Pgpool-II的步骤,并提供了相关的官方参考地址。 ... [详细]
  • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • 本文介绍了设计师伊振华受邀参与沈阳市智慧城市运行管理中心项目的整体设计,并以数字赋能和创新驱动高质量发展的理念,建设了集成、智慧、高效的一体化城市综合管理平台,促进了城市的数字化转型。该中心被称为当代城市的智能心脏,为沈阳市的智慧城市建设做出了重要贡献。 ... [详细]
  • 本文讨论了在Windows 8上安装gvim中插件时出现的错误加载问题。作者将EasyMotion插件放在了正确的位置,但加载时却出现了错误。作者提供了下载链接和之前放置插件的位置,并列出了出现的错误信息。 ... [详细]
  • 本文介绍了九度OnlineJudge中的1002题目“Grading”的解决方法。该题目要求设计一个公平的评分过程,将每个考题分配给3个独立的专家,如果他们的评分不一致,则需要请一位裁判做出最终决定。文章详细描述了评分规则,并给出了解决该问题的程序。 ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
author-avatar
baaiiii
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有